//
//  HMMainViewController.swift
//  新浪微博--song
//
//  Created by 宋海保 on 16/4/8.
//  Copyright © 2016年 宋海保. All rights reserved.
//

import UIKit

class HMMainViewController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //tabBar是只读属性,不能直接使用=号赋值,要使用KVC赋值
//        tabBar = HMTabBar()
        let customTabBar = HMTabBar()
        
        customTabBar.composeClosure = {
            () ->() in
            print("加号按钮被点击了")
        }
        
        
        self.setValue(customTabBar, forKey: "tabBar")
        //也可以设置图片和文字选中状态下的颜色,但当图片和文字颜色不一样时,就没用了,建议用下面那种方法
//        tabBar.tintColor = UIColor.orangeColor()
        setupChildControllers()
        
        
    }
    
    private func setupChildControllers() {
        //首页
        //        let homeVc = HMHomeTableViewController()
        //        homeVc.tabBarItem.image = UIImage(named: "tabbar_home")
        //        homeVc.title = "首页"
        //
        //        addChildViewController(UINavigationController(rootViewController: homeVc))
        addController(HMHomeTableViewController(), imageName: "tabbar_home", title: "首页")
        //消息
        addController(HMMessageTableViewController(), imageName: "tabbar_message_center", title: "消息")
        //发现
        addController(HMDiscoverTableViewController(), imageName: "tabbar_discover", title: "发现")
        //我
        addController(HMProfileTableViewController(), imageName: "tabbar_profile", title: "我")
    }
    
    /**
     设置子控制器
     
     - parameter controller: 控制器
     - parameter imageName:  图片名称
     - parameter title:      标题
     */
    private func addController(controller: UIViewController, imageName:String, title: String) {
        //设置tabBar的普通图片
        controller.tabBarItem.image = UIImage(named: imageName)
        //设置tabBar的选中图片
        controller.tabBarItem.selectedImage = UIImage(named: imageName + "_selected")?.imageWithRenderingMode(.AlwaysOriginal)
        //设置标题
        controller.title = title
        //设置标题颜色
        controller.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.orangeColor()], forState: .Selected)
        //包装一个导航控制器,并添加到tabBarVc里面
        addChildViewController(UINavigationController(rootViewController: controller))
    }

   

}
